# 使用 ARM 交叉编译器
CC = arm-linux-gnueabihf-gcc

# 编译标志 - 添加兼容性选项
CFLAGS = -Wall -O2 -I./include -pthread \
          -fno-stack-protector \
          -D_FORTIFY_SOURCE=0 \
          -mtune=cortex-a8 \
          -march=armv7-a \
          -mfloat-abi=hard

# 链接标志 - 添加静态链接选项
LDFLAGS = -pthread -static

SRC = main.c menu.c serial_test.c can_test.c io_test.c protocol.c \
      adda_test.c tcp_sxx.c udp_sxx.c test_hardware.c

OBJ = $(SRC:.c=.o)

# 默认构建目标
all: ./out/test_fixture

# 可执行文件链接规则 - 添加静态链接
./out/test_fixture: $(OBJ)
	$(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS)

# 通用编译规则
%.o: %.c
	$(CC) $(CFLAGS) -c $< -o $@

# 清理规则
clean:
	rm -f ./out/test_fixture $(OBJ)

# 辅助伪目标声明
.PHONY: all clean
